Este documento presenta un análisis detallado de los datos de Airbnb para apartamentos completos en la ciudad de Milán durante el año 2019. Se utilizarán diversas técnicas de análisis de datos para extraer insights relevantes y entender mejor las tendencias del mercado de alquileres temporales en Milán.
El dataset utilizado en este análisis está compuesto por información detallada de listados de Airbnb, disponible públicamente en Kaggle. El dataset original y la explicación de todas las columnas está disponible en el siguiente enlace: Kaggle Dataset.
El análisis se llevará a cabo siguiendo estos pasos:
Se utilizarán las siguientes librerías de R para el análisis:
dplyr: para manipulación de datos.ggplot2: para visualización de datos.plotly: para visualización de datos.#install.packages("dplyr")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#install.packages("ggplot2")
library(ggplot2)
#install.packages("plotly")
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
setwd("C:/Users/jtroc/Downloads/Airbnb_Milan")
airbnb_data <- read.csv("Airbnb_Milan.csv", stringsAsFactors = FALSE)
# Verificar las primeras filas del dataframe
head(airbnb_data)
## X id host_id host_location host_response_time host_response_rate
## 1 1 73892 387110 1 1 57
## 2 2 74169 268127 1 1 57
## 3 3 77958 387110 1 1 57
## 4 4 93025 499743 1 1 57
## 5 5 132705 391011 1 1 57
## 6 6 141833 689467 1 0 29
## host_is_superhost host_total_listings_count host_has_profile_pic
## 1 0 3 1
## 2 0 1 1
## 3 0 3 1
## 4 0 1 1
## 5 1 2 1
## 6 0 8 1
## host_identity_verified neighbourhood_cleansed zipcode latitude longitude
## 1 1 1 20121 45.47015 9.19134
## 2 0 1 20121 45.47169 9.18412
## 3 1 1 20121 45.47117 9.19135
## 4 0 1 20121 45.47204 9.19640
## 5 0 1 20135 45.45934 9.20609
## 6 1 1 20123 45.46022 9.18279
## room_type accommodates bathrooms bedrooms beds bed_type daily_price
## 1 Entire home/apt 2 3 1 1 1 94
## 2 Entire home/apt 4 3 1 1 1 125
## 3 Entire home/apt 2 3 1 1 1 100
## 4 Entire home/apt 3 3 1 2 1 120
## 5 Entire home/apt 2 3 0 1 3 70
## 6 Entire home/apt 2 3 1 1 1 200
## security_deposit cleaning_fee guests_included extra_people minimum_nights
## 1 1 45 1 0 2
## 2 31 30 1 0 2
## 3 1 45 1 0 2
## 4 48 57 2 40 2
## 5 13 45 1 0 30
## 6 48 57 2 20 15
## availability_30 availability_60 availability_90 availability_365
## 1 29 59 89 364
## 2 0 0 9 284
## 3 29 59 89 364
## 4 10 40 70 160
## 5 27 57 87 362
## 6 0 3 33 308
## number_of_reviews review_scores_rating review_scores_accuracy
## 1 84 94 9
## 2 3 100 10
## 3 70 97 9
## 4 57 97 10
## 5 44 90 9
## 6 79 98 10
## review_scores_cleanliness review_scores_checkin review_scores_communication
## 1 9 10 10
## 2 10 10 10
## 3 10 10 10
## 4 10 10 10
## 5 9 10 10
## 6 10 10 10
## review_scores_location review_scores_value instant_bookable
## 1 10 9 0
## 2 10 9 0
## 3 10 9 0
## 4 10 10 0
## 5 9 9 0
## 6 10 10 0
## cancellation_policy require_guest_profile_picture
## 1 1 1
## 2 0 0
## 3 1 1
## 4 1 0
## 5 1 1
## 6 0 1
## require_guest_phone_verification TV WiFi Air_Condition Wheelchair_accessible
## 1 1 1 1 1 0
## 2 0 1 1 1 0
## 3 1 1 1 1 0
## 4 0 1 1 1 0
## 5 1 1 1 1 0
## 6 1 1 1 1 0
## Kitchen Breakfast Elevator Heating Washer Iron Host_greets_you
## 1 1 0 1 1 0 1 0
## 2 1 0 1 1 1 1 0
## 3 1 0 1 1 0 1 0
## 4 1 0 1 1 0 1 0
## 5 1 0 1 1 1 1 1
## 6 1 0 1 1 1 1 0
## Paid_parking_on_premises Luggage_dropoff_allowed Long_term_stays_allowed
## 1 0 0 0
## 2 0 0 0
## 3 0 0 0
## 4 1 1 0
## 5 0 0 0
## 6 0 0 1
## Doorman Pets_allowed Smoking_allowed Suitable_for_events X24_hour_check_in
## 1 0 0 0 1 0
## 2 0 0 0 0 0
## 3 0 0 0 1 0
## 4 0 1 0 0 0
## 5 0 0 0 0 0
## 6 1 0 0 0 1
# Crear un nuevo dataframe con columnas seleccionadas
airbnb_selected <- select(airbnb_data, host_is_superhost, host_identity_verified, bathrooms, bedrooms, daily_price, security_deposit, minimum_nights, number_of_reviews, review_scores_rating)
# Verificar las primeras filas del nuevo dataframe
head(airbnb_selected)
## host_is_superhost host_identity_verified bathrooms bedrooms daily_price
## 1 0 1 3 1 94
## 2 0 0 3 1 125
## 3 0 1 3 1 100
## 4 0 0 3 1 120
## 5 1 0 3 0 70
## 6 0 1 3 1 200
## security_deposit minimum_nights number_of_reviews review_scores_rating
## 1 1 2 84 94
## 2 31 2 3 100
## 3 1 2 70 97
## 4 48 2 57 97
## 5 13 30 44 90
## 6 48 15 79 98
# Recodificar 'host_is_superhost'
airbnb_selected$host_is_superhost <- recode(airbnb_selected$host_is_superhost,
`0` = "NO",
`1` = "SI")
# Verificar los cambios
head(airbnb_selected)
## host_is_superhost host_identity_verified bathrooms bedrooms daily_price
## 1 NO 1 3 1 94
## 2 NO 0 3 1 125
## 3 NO 1 3 1 100
## 4 NO 0 3 1 120
## 5 SI 0 3 0 70
## 6 NO 1 3 1 200
## security_deposit minimum_nights number_of_reviews review_scores_rating
## 1 1 2 84 94
## 2 31 2 3 100
## 3 1 2 70 97
## 4 48 2 57 97
## 5 13 30 44 90
## 6 48 15 79 98
En este paso del análisis de datos del conjunto de Airbnb para la ciudad de Milán, se han realizado las siguientes acciones:
Recodificación de la Variable host_is_superhost: La columna host_is_superhost, que originalmente contenía valores numéricos 0 y 1, ha sido transformada en una variable categórica con los valores “NO” y “SI”. Este cambio facilita la interpretación de los datos al convertir los códigos numéricos en etiquetas descriptivas que indican claramente si un anfitrión es considerado un “super host” o no según los estándares de Airbnb.
Verificación de los Cambios: Se ha utilizado la función head() para mostrar las primeras filas del DataFrame airbnb_selected y confirmar que la recodificación se ha aplicado correctamente. Este paso es crucial para verificar que el proceso de transformación de datos se haya realizado sin errores y que los datos están listos para los siguientes pasos del análisis.
# Recodificar 'host_identity_verified'
airbnb_selected$host_identity_verified <- recode(airbnb_selected$host_identity_verified,
`0` = "NO VERIFICA",
`1` = "VERIFICA")
# Verificar los cambios
head(airbnb_selected)
## host_is_superhost host_identity_verified bathrooms bedrooms daily_price
## 1 NO VERIFICA 3 1 94
## 2 NO NO VERIFICA 3 1 125
## 3 NO VERIFICA 3 1 100
## 4 NO NO VERIFICA 3 1 120
## 5 SI NO VERIFICA 3 0 70
## 6 NO VERIFICA 3 1 200
## security_deposit minimum_nights number_of_reviews review_scores_rating
## 1 1 2 84 94
## 2 31 2 3 100
## 3 1 2 70 97
## 4 48 2 57 97
## 5 13 30 44 90
## 6 48 15 79 98
En este paso del análisis, se ha efectuado una recodificación adicional en el conjunto de datos de Airbnb para Milán:
Recodificación de la Variable host_identity_verified: La columna host_identity_verified, que contenía valores binarios de 0 y 1, ha sido recodificada a valores categóricos “NO VERIFICA” y “VERIFICA”. Este cambio mejora la legibilidad de los datos, haciendo más clara la distinción entre anfitriones cuya identidad ha sido verificada por Airbnb y aquellos cuya identidad aún no ha sido confirmada por la plataforma.
Confirmación de la Recodificación: Se utilizó la función head() para inspeccionar las primeras filas del DataFrame airbnb_selected y asegurarse de que los cambios se aplicaron como se esperaba. Esto es esencial para garantizar la integridad de los datos antes de proceder con análisis más complejos.
# Mostrar un resumen estadístico de los datos
summary(airbnb_selected)
## host_is_superhost host_identity_verified bathrooms bedrooms
## Length:9322 Length:9322 Min. : 1.000 Min. : 0.000
## Class :character Class :character 1st Qu.: 3.000 1st Qu.: 1.000
## Mode :character Mode :character Median : 3.000 Median : 1.000
## Mean : 3.357 Mean : 1.218
## 3rd Qu.: 3.000 3rd Qu.: 2.000
## Max. :17.000 Max. :10.000
## daily_price security_deposit minimum_nights number_of_reviews
## Min. : 10.0 Min. : 1.00 Min. : 1.000 Min. : 1.00
## 1st Qu.: 59.0 1st Qu.: 1.00 1st Qu.: 1.000 1st Qu.: 4.00
## Median : 75.0 Median : 1.00 Median : 2.000 Median : 14.00
## Mean : 103.7 Mean : 21.71 Mean : 3.205 Mean : 39.64
## 3rd Qu.: 107.0 3rd Qu.: 48.00 3rd Qu.: 2.000 3rd Qu.: 44.00
## Max. :3000.0 Max. :143.00 Max. :365.000 Max. :791.00
## review_scores_rating
## Min. : 20.00
## 1st Qu.: 90.00
## Median : 95.00
## Mean : 93.15
## 3rd Qu.: 99.00
## Max. :100.00
En este paso, se ha ejecutado un resumen estadístico del DataFrame airbnb_selected del conjunto de datos de Airbnb en Milán. El resumen proporciona estadísticas descriptivas para las variables numéricas del dataset. Aquí hay algunas observaciones basadas en la imagen proporcionada:
Estadísticas de Baños y Dormitorios:
La cantidad de baños varía entre 0 y 17, con una media de aproximadamente 3.36, lo que sugiere que la mayoría de los listados tienen varios baños. Los dormitorios varían de 0 a 10, con una media cercana a 1.2, indicando que la mayoría de los listados probablemente sean apartamentos o casas pequeñas. Precios Diarios:
El precio diario varía significativamente, desde un mínimo de 10 hasta un máximo de 3000 unidades monetarias, con una media de alrededor de 103.7, lo que indica una amplia gama de opciones de alojamiento, desde económicas hasta lujosas. Depósitos de Seguridad:
La cantidad del depósito de seguridad también muestra una gran variación, de 1 a 143 unidades monetarias, con una media de alrededor de 21.7. Esto puede reflejar políticas de depósito variables entre los anfitriones. Estadísticas de Noches Mínimas y Número de Reseñas:
Las noches mínimas requeridas por los listados varían de 1 a 365, con una media de 3.2, lo que podría indicar una preferencia por reservas de corta duración. El número de reseñas tiene un rango muy amplio, desde 1 hasta 791, con una media de 39.64, lo que podría sugerir que algunos listados son mucho más populares o han estado activos durante más tiempo. Puntuaciones de las Reseñas:
Las puntuaciones de las reseñas varían de 20 a 100, con una media alta de 93.15, lo que indica una tendencia general hacia reseñas positivas en el conjunto de datos. Conclusión: Los datos indican una variedad de propiedades en Airbnb con un amplio rango de precios y comodidades. La mayoría de los listados parecen recibir reseñas positivas, aunque hay una gran variabilidad en términos de precios, depósitos de seguridad y número de reseñas. Los anfitriones ofrecen opciones para estancias cortas y largas, lo que puede atraer a una amplia gama de huéspedes. Para futuros análisis, sería interesante explorar la relación entre estas variables y cómo afectan la popularidad y la elección de un listado por parte de los huéspedes.
# Filtrar el dataset por apartamentos con mínimo de noches <= 7
airbnb_filtered7 <- filter(airbnb_selected, minimum_nights <= 7)
# Verificar los resultados
head(airbnb_filtered7)
## host_is_superhost host_identity_verified bathrooms bedrooms daily_price
## 1 NO VERIFICA 3 1 94
## 2 NO NO VERIFICA 3 1 125
## 3 NO VERIFICA 3 1 100
## 4 NO NO VERIFICA 3 1 120
## 5 SI NO VERIFICA 5 1 700
## 6 NO NO VERIFICA 3 1 250
## security_deposit minimum_nights number_of_reviews review_scores_rating
## 1 1 2 84 94
## 2 31 2 3 100
## 3 1 2 70 97
## 4 48 2 57 97
## 5 1 1 72 96
## 6 73 1 126 98
# Calcular el precio medio por día en función de la verificación del perfil del anfitrión
precio_medio <- airbnb_selected %>%
group_by(host_identity_verified) %>%
summarise(precio_medio_diario = mean(daily_price, na.rm = TRUE))
# Mostrar el resultado
precio_medio
## # A tibble: 2 × 2
## host_identity_verified precio_medio_diario
## <chr> <dbl>
## 1 NO VERIFICA 104.
## 2 VERIFICA 104.
En este paso del análisis de datos de Airbnb, se calculó el precio medio diario de los listados basándose en si el perfil del anfitrión está verificado o no. El resultado muestra dos valores:
Para los anfitriones no verificados, el precio medio diario de un listado es de aproximadamente 103.72 unidades monetarias. Para los anfitriones verificados, el precio medio diario es ligeramente mayor, alrededor de 103.76 unidades monetarias. A partir de estos resultados, podemos concluir que, en promedio, el estado de verificación del perfil del anfitrión tiene un impacto mínimo en el precio diario de un listado en Airbnb
# Calcular la suma total de reseñas por tipo de host
total_resenas <- airbnb_selected %>%
group_by(host_is_superhost) %>%
summarise(total_resenas = sum(number_of_reviews, na.rm = TRUE))
# Mostrar el resultado
total_resenas
## # A tibble: 2 × 2
## host_is_superhost total_resenas
## <chr> <int>
## 1 NO 204655
## 2 SI 164876
En este paso del análisis, se ha calculado la suma total de reseñas para anfitriones de Airbnb clasificados como super hosts y para aquellos que no lo son. Los resultados presentados en la imagen son los siguientes:
Los anfitriones que no son super hosts acumulan un total de 204,655 reseñas. Los super hosts acumulan un total de 164,876 reseñas. Con base en estos resultados, podemos concluir que, en conjunto, los anfitriones que no son super hosts han recibido más reseñas que los super hosts.
# Calcular la puntuación media de reseñas por tipo de host
puntuacion_media <- airbnb_selected %>%
group_by(host_is_superhost) %>%
summarise(puntuacion_media = mean(review_scores_rating, na.rm = TRUE))
# Mostrar el resultado
puntuacion_media
## # A tibble: 2 × 2
## host_is_superhost puntuacion_media
## <chr> <dbl>
## 1 NO 91.6
## 2 SI 96.9
En esta etapa del análisis, se han calculado las puntuaciones medias de las reseñas para anfitriones catalogados como super hosts y para aquellos que no lo son en el conjunto de datos de Airbnb en Milán. Los resultados son los siguientes:
Los anfitriones que no son super hosts tienen una puntuación media de reseñas de 91.61382. Los super hosts tienen una puntuación media de reseñas de 96.92425. Estos resultados indican claramente que los super hosts tienen, en promedio, puntuaciones de reseñas más altas que los anfitriones que no son super hosts. Esto es coherente con los criterios que Airbnb utiliza para calificar a un anfitrión como super host, que incluyen un alto nivel de servicio, una excelente experiencia para el huésped y, por tanto, reseñas más positivas.
# Crear el vector categórico "CATEGORÍA"
airbnb_selected <- airbnb_selected %>%
mutate(CATEGORÍA = case_when(
review_scores_rating >= 0 & review_scores_rating <= 49 ~ "NO ACONSEJABLE",
review_scores_rating >= 50 & review_scores_rating <= 75 ~ "ESTÁNDAR",
review_scores_rating >= 76 & review_scores_rating <= 100 ~ "TOP",
TRUE ~ NA_character_ # Para manejar valores NA o fuera de los rangos
))
# Verificar los cambios
head(airbnb_selected)
## host_is_superhost host_identity_verified bathrooms bedrooms daily_price
## 1 NO VERIFICA 3 1 94
## 2 NO NO VERIFICA 3 1 125
## 3 NO VERIFICA 3 1 100
## 4 NO NO VERIFICA 3 1 120
## 5 SI NO VERIFICA 3 0 70
## 6 NO VERIFICA 3 1 200
## security_deposit minimum_nights number_of_reviews review_scores_rating
## 1 1 2 84 94
## 2 31 2 3 100
## 3 1 2 70 97
## 4 48 2 57 97
## 5 13 30 44 90
## 6 48 15 79 98
## CATEGORÍA
## 1 TOP
## 2 TOP
## 3 TOP
## 4 TOP
## 5 TOP
## 6 TOP
# Mostrar las frecuencias de la variable "CATEGORÍA"
frecuencias_categoria <- table(airbnb_selected$CATEGORÍA)
# Mostrar el resultado
frecuencias_categoria
##
## ESTÁNDAR NO ACONSEJABLE TOP
## 263 42 9017
En este paso del análisis, se han calculado las frecuencias de la variable “CATEGORÍA” en el conjunto de datos de Airbnb en Milán. Los resultados muestran las siguientes frecuencias para cada categoría:
ESTÁNDAR: 263 listados NO ACONSEJABLE: 42 listados TOP: 9017 listados Estas cifras indican que la gran mayoría de los listados en el conjunto de datos caen dentro de la categoría “TOP”, lo que implica que tienen una puntuación de reseñas entre 76 y 100. Esto sugiere un nivel generalmente alto de satisfacción de los huéspedes con los alojamientos listados en Airbnb en Milán. Una cantidad relativamente pequeña de listados se clasifica como “ESTÁNDAR” y aún menos como “NO ACONSEJABLE”.
crear_histograma <- function(data, categoria, bin_width = 10) {
filtered_data <- filter(data, CATEGORÍA == categoria)
p <- ggplot(filtered_data, aes(x = daily_price)) +
geom_histogram(binwidth = bin_width, fill = "blue", color = "black") +
labs(title = paste("Histograma del Precio por Día - Categoría", categoria),
x = "Precio por Día",
y = "Frecuencia") +
theme_minimal()
return(plotly::ggplotly(p))
}
# Crear histograma para la categoría "TOP"
crear_histograma(airbnb_selected, "TOP")
# Crear histograma para la categoría "ESTÁNDAR"
crear_histograma(airbnb_selected, "ESTÁNDAR")
# Crear histograma para la categoría "NO ACONSEJABLE"
crear_histograma(airbnb_selected, "NO ACONSEJABLE")
Después de revisar los histogramas de precios por día para las categorías “TOP”, “ESTÁNDAR” y “NO ACONSEJABLE” en el conjunto de datos de Airbnb para Milán, aquí hay una conclusión integrada de los tres análisis:
Categoría “TOP”: Los listados en la categoría “TOP” tienen una amplia gama de precios, pero principalmente se agrupan en el extremo inferior, lo que sugiere que incluso los alojamientos con altas calificaciones son accesibles y hay una pequeña proporción de alojamientos de lujo con precios significativamente más altos. Esto indica que la calidad no siempre está directamente correlacionada con precios más elevados y que los huéspedes pueden encontrar opciones de alta calidad a precios razonables.
Categoría “ESTÁNDAR”: Los precios de los listados “ESTÁNDAR” tienden a ser más bajos en comparación con la categoría “TOP”, lo cual es esperable dada la menor puntuación de reseñas. La presencia de una cola larga en esta categoría también refleja la existencia de propiedades con precios más altos, aunque son menos comunes.
Categoría “NO ACONSEJABLE”: Los listados en esta categoría muestran una concentración aún mayor en el rango de precios bajos, lo que refleja la percepción de menor valor debido a las calificaciones de reseñas más bajas. El hecho de que haya algunos listados con precios altos en esta categoría es notable y podría requerir una evaluación adicional para entender las razones detrás de esta fijación de precios.
# Crear un diagrama de dispersión con ggplot2
p <- ggplot(airbnb_selected, aes(x = bedrooms, y = bathrooms)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", color = "red") +
labs(title = "Relación entre Dormitorios y Baños",
x = "Número de Dormitorios",
y = "Número de Baños") +
theme_minimal()
# Convertir a gráfico interactivo con plotly
plotly::ggplotly(p)
## `geom_smooth()` using formula = 'y ~ x'
El gráfico proporcionado muestra un diagrama de dispersión que representa la relación entre el número de dormitorios y el número de baños en los listados de Airbnb. La línea roja en el gráfico indica la línea de tendencia, probablemente calculada a través de un modelo de regresión lineal, que ayuda a visualizar la relación general entre estas dos variables.
Observaciones clave basadas en el gráfico:
Correlación Positiva: Existe una correlación positiva entre el número de dormitorios y el número de baños, lo cual es lógico, ya que los alojamientos más grandes suelen tener más baños.
Distribución: La mayoría de los listados tienen menos de 5 dormitorios y menos de 5 baños, lo que es típico para apartamentos y casas de tamaño estándar. Los puntos más dispersos sugieren que hay menos listados con un número mayor de dormitorios y baños, posiblemente correspondiendo a propiedades más grandes como casas o villas.
Outliers: Hay algunos puntos que se alejan significativamente de la línea de tendencia, indicando que hay listados con una cantidad inusual de baños para el número de dormitorios que tienen. Esto podría ser un punto de interés o un área para una investigación más detallada.
Tendencia: La línea de tendencia sugiere que, en promedio, por cada aumento en el número de dormitorios, hay un incremento correspondiente en el número de baños. Sin embargo, la pendiente de la línea no es pronunciada, lo que indica que el aumento no es proporcional uno a uno.
# Filtrar el conjunto de datos para incluir solo listados con hasta 500 reseñas
airbnb_filtered_reviews <- filter(airbnb_selected, number_of_reviews <= 500)
# Crear un histograma del número de reseñas según la verificación del anfitrión
p <- ggplot(airbnb_filtered_reviews, aes(x = number_of_reviews, fill = host_identity_verified)) +
geom_histogram(binwidth = 5, position = "dodge") +
labs(title = "Histograma del Número de Reseñas (hasta 500) según Verificación del Anfitrión",
x = "Número de Reseñas",
y = "Frecuencia") +
scale_fill_manual(values = c("blue", "red")) +
theme_minimal()
# Mostrar el gráfico
p
# Calcular los porcentajes para el histograma
airbnb_filtered_reviews <- airbnb_selected %>%
filter(number_of_reviews <= 500) %>%
group_by(host_identity_verified) %>%
mutate(total_count = n()) %>%
ungroup() %>%
mutate(percentage = 1 / total_count * 100)
# Crear un histograma con porcentajes
p <- ggplot(airbnb_filtered_reviews, aes(x = number_of_reviews, y = ..count../sum(..count..) * 100, fill = host_identity_verified)) +
geom_histogram(binwidth = 5, position = "dodge") +
labs(title = "Histograma del Porcentaje de Número de Reseñas (hasta 500) según Verificación del Anfitrión",
x = "Número de Reseñas",
y = "Porcentaje") +
scale_fill_manual(values = c("blue", "red")) +
theme_minimal()
# Mostrar el gráfico
p
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Crear un histograma con facet_wrap para cada categoría
p <- ggplot(airbnb_selected, aes(x = security_deposit, fill = host_is_superhost)) +
geom_histogram(binwidth = 50, position = "dodge") +
facet_wrap(~ CATEGORÍA) +
labs(title = "Histograma de Depósito de Seguridad por Categoría y Tipo de Anfitrión",
x = "Depósito de Seguridad",
y = "Frecuencia") +
scale_fill_manual(values = c("blue", "red")) +
theme_minimal()
# Mostrar el gráfico
p
El histograma proporcionado compara los depósitos de seguridad de los
listados de Airbnb en Milán, segmentados por categoría de listado
(“ESTÁNDAR”, “NO ACONSEJABLE”, “TOP”) y por si el anfitrión es un super
host o no.
Observaciones clave basadas en el gráfico:
Categoría “TOP”: En la categoría “TOP”, hay una notable diferencia en la frecuencia de depósitos de seguridad entre los anfitriones que son super hosts y los que no lo son. Los super hosts tienden a tener depósitos de seguridad más bajos, lo cual podría ser un reflejo de la confianza que Airbnb y los huéspedes depositan en ellos, mientras que los anfitriones que no son super hosts tienen una mayor frecuencia de depósitos de seguridad más altos.
Categoría “NO ACONSEJABLE”: Los depósitos de seguridad en esta categoría son en su mayoría bajos, independientemente del estatus de super host del anfitrión. Esto podría deberse a que los anfitriones intentan atraer huéspedes a pesar de las bajas puntuaciones de sus listados.
Categoría “ESTÁNDAR”: En esta categoría, los anfitriones que no son super hosts parecen requerir depósitos de seguridad ligeramente más altos que los super hosts. Esto puede ser una precaución adicional debido a una menor puntuación de reseñas en comparación con los listados “TOP”.
Calidad vs. Precio: Los listados en la categoría “TOP” no solo tienen altas puntuaciones de reseñas, sino que también ofrecen precios accesibles, lo que indica que una alta calidad no necesariamente se traduce en precios elevados en Airbnb en Milán.
Estrategias de Precios: A pesar de la variabilidad en los precios de los listados en todas las categorías, hay una concentración significativa en el extremo inferior del espectro de precios, lo que sugiere que estrategias de precios competitivos son fundamentales para atraer huéspedes.
Confianza en los Super Hosts: Los super hosts, especialmente en la categoría “TOP”, tienden a requerir depósitos de seguridad más bajos, lo que puede ser un reflejo de la confianza que inspiran a los huéspedes y a la plataforma de Airbnb.
Distribución de Listados: Hay una amplia gama de listados disponibles, desde económicos hasta lujosos, lo que proporciona opciones para una diversidad de huéspedes y sus necesidades.
Relación entre Comodidades: Hay una correlación positiva entre el número de dormitorios y baños, lo que indica que las propiedades más grandes generalmente ofrecen más baños.
Para Anfitriones:
Calidad y Servicio: Centrarse en mejorar la calidad del servicio y las comodidades del alojamiento puede ayudar a los anfitriones a mejorar las puntuaciones de sus reseñas y alcanzar o mantener el estatus de super host. Estrategia de Precios: Evaluar competitivamente los precios de los listados, considerando la calidad y las puntuaciones de las reseñas, para asegurar una oferta atractiva en el mercado. Depósitos de Seguridad: Considerar ajustar los depósitos de seguridad para reflejar la confianza y el estatus de super host, posiblemente reduciendo los depósitos para ser más competitivos. Para Huéspedes:
Evaluación de Listados: Considerar tanto las puntuaciones de las reseñas como los precios al elegir un alojamiento, ya que los precios no siempre están directamente correlacionados con la calidad. Selección Basada en la Confianza: Dar preferencia a los super hosts cuando sea posible, ya que tienden a ofrecer una experiencia más fiable y de mayor calidad. Para la Plataforma de Airbnb:
Promoción de Super Hosts: Continuar con la promoción del programa de super hosts, incentivando a los anfitriones a mantener altos estándares de calidad. Apoyo a Listados Menos Populares: Brindar asesoramiento y recursos a los anfitriones con listados “NO ACONSEJABLES” y “ESTÁNDAR” para ayudarles a mejorar su servicio y subir de categoría. En resumen, el mercado de Airbnb en Milán muestra una fuerte competencia con una clara inclinación hacia listados de alta calidad a precios accesibles. La confianza y la calidad son factores clave tanto para anfitriones como para huéspedes, y el estatus de super host parece desempeñar un papel importante en la percepción del mercado.